//
//  GYDTitleButton.swift
//  Weibo
//
//  Created by 贵永冬 on 16/7/17.
//  Copyright © 2016年 贵永冬. All rights reserved.
//

import UIKit

class GYDTitleButton: UIButton {

    // 通过纯代码创建时调用
    // 在Swift中如果重写父类的方法, 必须在方法前面加上override
    override init(frame: CGRect) {
        super.init(frame: frame)
        self.setupUI()
    }
    
    // 通过XIB/SB创建时调用
    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        self.setupUI()
    }
    
    private func setupUI() -> Void{
        self.setImage(UIImage(named: "navigationbar_arrow_down"), forState: UIControlState.Normal)
        self.setImage(UIImage(named: "navigationbar_arrow_up"), forState: UIControlState.Selected)
        
        self.setTitleColor(RGB(70, g: 70, b: 70), forState: UIControlState.Normal)
        self.titleLabel?.font = UIFont.boldSystemFontOfSize(18)
        self.sizeToFit()
    }
    
    override func setTitle(title: String?, forState state: UIControlState) {
        // ?? 用于判断前面的参数是否是nil, 如果是nil就返回??后面的数据, 如果不是nil那么??后面的语句不执行
        super.setTitle((title ?? "") + "  ", forState: state)
    }
    
    override func layoutSubviews() {
        super.layoutSubviews()
        // 和OC不太一样, Swift语法允许我们直接修改一个对象的结构体属性的成员
        self.titleLabel?.frame.origin.x = 0
        self.imageView?.frame.origin.x = titleLabel!.frame.width
    }


}
